package Validaciones;

import javax.swing.JTextField;

public final class ValidacionesVehiculo {

    public static boolean validaNumero(String num, JTextField texto) {
        
        double res = num.length();     
        String vacio = ""+num;
        if (res > 10 || vacio.equals("") || !num.matches("[0-9]*")) {
            pintar(texto);
        }
        else{
            texto.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 255, 0)));
            return false;
        }
        return true;    

    }
    public static boolean validaModelo(String modelo, JTextField textoModelo){
        double numModelo = modelo.length();
        String modeloNulo = ""+modelo;
        if (numModelo != 4 || modeloNulo.equals("") || !modelo.matches("[0-9]*")) {
            pintar(textoModelo);
        }else{
            textoModelo.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 255, 0)));
            return false;
        }
        return true;
    }
    
    public static boolean validaCapacidad(String capacidad, JTextField textoCapacidad){
        String vacio = capacidad;
        if (vacio.equals("")) {
            pintar(textoCapacidad);
            return true;
        }
                        
        //if (!capacidad.matches("[0-9]{2}")||!capacidad.matches("^[5-9](1[0-9])|(2[0-9])$")) {
        if (!capacidad.matches("^([5-9]{1,2})|(1[0-9])|(2[0-9])$")) {
            pintar(textoCapacidad);
        }else{
            textoCapacidad.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 255, 0)));
            return false;
        }
        return true;
    }
    public static boolean validaSoat(String soat, JTextField textoSoat){
        String vacio = soat;
        if (vacio.equals("")) {
            pintar(textoSoat);
            return true;
        }
                        
        if (!soat.matches("^[a-zA-Z0-9]{7,15}$")) {
            pintar(textoSoat);
        }else{
            textoSoat.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 255, 0)));
            return false;
        }
        return true;
    }
    
    public static boolean validaPlaca(String placa, JTextField textoPlaca){
       
        String placaNulo = ""+placa;
                
        if (placaNulo.equals("") || !placa.matches("^([A-Za-z]{3}\\d{3})$")) {
            pintar(textoPlaca);
        }else{
            textoPlaca.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 255, 0)));
            return false;
        }
        return true;
    }
    public static boolean validaNumeroInterno(String num, JTextField texto) {
        String vacio = num;
        if (vacio.equals("")) {
            pintar(texto);
            return true;
        }
                        
        if (!num.matches("[0-9]{1,3}")) {
            pintar(texto);
        }else{
            texto.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 255, 0)));
            return false;
        }
        return true;
    }
    public static boolean validaPropietario(String valor, JTextField txt){
        String nom = valor; 
        if (nom.equals("")) {
            pintar(txt);
            return true;
        }else{
            return false;
        }
    }
    public static boolean validaRuta(String valor, JTextField txt){
        String nom = valor; 
        if (nom.equals("")) {
            pintar(txt);
            return true;
        }else{
            return false;
        }
    }
    public static boolean validaTipo(String valor, JTextField txt){
        String nom = valor; 
        if (nom.equals("")) {
            pintar(txt);
            return true;
        }else{
            return false;
        }
    }
    public static boolean validaMarca(String valor, JTextField txt){
        String nom = valor; 
        if (nom.equals("")) {
            pintar(txt);
            return true;
        }else{
            return false;
        }
    }
    public static boolean validaConductor(String valor, JTextField txt){
        String nom = valor; 
        if (nom.equals("")) {
            pintar(txt);
            return true;
        }else{
            return false;
        }
    }
    private static void pintar(JTextField txt) {
            txt.requestFocus();
            txt.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(255, 0, 0)));
            txt.setSelectionStart(0);
            txt.setSelectionEnd(txt.getText().length());
    }
}
